草庐IT

c++ - 特化 std::make_shared

全部标签

c++ - 如何调试 Google 代码库中的源代码

我想从谷歌代码库调试以下源代码,http://code.google.com/p/rx/我的问题是,我无法找到一个合适的IDE,可以将源代码中的所有子文件夹视为一个完整的项目。我已经尝试过netbeansC++、codeblocks、eclipseC++等。他们在打开项目时的问题是他们将主项目中的所有子文件夹视为不同的项目。是否有可用于调试来自google代码库的源代码的ide。或者有什么方法可以调试这些项目吗?操作系统:Ubuntu或Windows 最佳答案 您可以创建一个虚拟makefile:all:g++code_dir/*/

c++ - 如何使用 std::map 在 C++ 中构建树结构

我正在尝试用C++编写一种树状结构。就像每棵树都有Twig和树叶一样。一个分支可以包含其他分支以及叶子。现在我的实现要求每个分支和叶子具有不同的功能。例如。走树状结构Root||Branch1Branch2Branch3|||Leaf1Leaf2Branch4NowEachLeafandbranchhasadifferentfunctiontoexecutesoLeaf1willhaveafunctioncalledleaf1_func,Leaf2willhaveleaf2_func,Branch4hasBranch4_func.我最初尝试实现复合设计模式。但这意味着我将拥有与叶子一样

c++ - 在 Makefile 中解决依赖关系的常用方法是什么?

我看到很多方法被用来解决Makefile中的依赖关系,比如使用gcc-MM和sedcommond,或者使用include指令(加上一点Perl魔法),或qmake,或automake,或infomake等。面对如此多的选择,我不知该如何选择。所以,我想知道现在在Makefile中解决依赖关系的常用方法是什么?解决这个问题的最佳方法是什么?PS:C/CPP项目。 最佳答案 一般来说,如果您只关心支持GNUmake和gcc的系统(比如现在所有的linux变体和大多数类似unix的系统),您只需使用gcc的各种-M标志来生成依赖项,然后-

c++ - 在 C/C++ 中读取/写入 screen 进程

我想知道如何在C/C++中连接到screen进程,我经常想让C程序监听该screen窗口的输出并对输出使用react,并向正在运行的程序发送一些输入在那个session上。我只是不确定我应该如何连接到该screensession,而且我在搜索时没有发现任何非常有用的东西。 最佳答案 完全按照您的意愿行事。screen期望在终端设备内运行,所以如果(我假设你在linux上)你想以编程方式创建它,你必须使用posix_openpt()设置终端伪设备,设置使用grantpt()/unlockpt()的从属设备,fork,在子进程中打开从属

c++ - FFmpeg av_read_frame 和最大数据包大小

是否有可能检测到av_read_frame()可以读取的最大数据包(AVpacket)大小? 最佳答案 我最近也在找同样的东西。似乎av_read_frame在内部为每个编解码器/格式调用编解码器特定的read_packet函数。这反过来为每个数据包分配内存并根据编解码器/格式构成的最大限制释放它。因此,只要您有内存来支持(无效)流,您就应该没问题,并且限制特定于编解码器/格式解码器。[您可以找到在AVInputFormat中为每种格式定义的函数,如.read_packet]。 关于c+

c++ - 如何使用 BlueZ 获取 RSSI?

我目前正在构建一个小型实用程序,以通过蓝牙和计算机找到我的手机。为此,我试图让RSSI评估两个设备之间的距离。如何在C/C++中使用Bluez获取RSSI?是否有用于此的hci命令?如果有,是否有HCI命令列表?谢谢。 最佳答案 有没有对您有用的实用程序。如果您没有尝试安装所有bluez库,请尝试使用bluetoothctl。您只需开始扫描,它就会为您提供来自所有设备的rssi。如果需要查看代码。你也在git代码中搜索https://git.kernel.org/cgit/bluetooth/bluez.git/tree/

c++ - "empty"可变模板特化的地址

我有一个可变模板成员函数定义为:templateVAlgorithm*CreateAlgorithm(constchar*objectName,constchar*className,Params...par)我想获取Params不包含类型的专用版本的地址(我称之为“空”专用化),即:VAlgorithm*CreateAlgorithm(constchar*objectName,constchar*className)我尝试了几种方法。天真的方式:&AlgorithmFactory::CreateAlgorithm(因为,例如,&AlgorithmFactory::CreateAlgo

c++ - ctypes 类成员访问段错误

我有兴趣在Python中使用C++类。看着CallingC/C++frompython?,我决定尝试ctypes。但是,当我尝试更改类成员的值时出现段错误。这是一个重现我的问题的简单示例:C/C++方面:#includeclassFoo{private:intmValue;public:voidbar(){std::coutbar();}voidFoo_setValue(Foo*foo,intv){foo->setValue(v);}voidFoo_setValue2(Foo*foo){foo->setValue2();}}代码在OSX上编译:g++-c-fPICfoo.cpp-ofo

c++ - Qt Creator - calloc 因大内存而失败

我对QtCreator或其组件之一有疑问。我有一个需要大量内存(大约4GBytes)的程序,我使用calloc来分配它。如果我使用mingw/gcc(不使用Qt框架)编译C代码,它可以工作,但是如果我在QtCreator中编译它(使用C++将C代码嵌入到Qt框架中),使用mingw/gcc工具链,calloc返回空指针。我已经搜索并找到了qt-pro选项QMAKE_LFLAGS+=-Wl,--large-address-aware,它适用于某些情况(大约3.5GBytes),但如果我超过4GBytes,它只适用于用gcc编译的C代码,不适用于Qt。在使用QtCreator进行编译时,如

c++ - 使用 C/C++ 以外的语言构建共享库,特别是序言

是否可以使用C或C++以外的语言构建共享库(例如*.so、*.dll)?构建共享库的基本要求是什么?该语言是否能够编译为native二进制文件?我特别想知道是否可以从Prolog构建共享库。例如我可以使用Prolog构建一个.so吗,然后我可以从另一种语言(C、Java、Python等)链接到它。 最佳答案 您可以使用多种语言构建共享库。我经常使用的一个是Delphi,它可以为Windows创建dll。对于Prolog,不确定您是否可以创建共享库,它需要某种运行时环境,如果有的话我会从GNU-Prolog开始。问题不在于许可,而在于